package com.example.demo.util;

import io.swagger.annotations.ApiOperation;

import javax.servlet.http.HttpSession;

/**
 * @Author: yucs
 * @Date: 2021/8/27 18:12
 * 将获取session属性的拿出来，作为一个通用工具类，否则只有集成BaseController的类才能用
 */
public class SessionUtil {

    @ApiOperation("获取登录角色的工具类")
    /**
     * 获得登录角色
     * @param httpSession
     * @return String类型，要么是 “user”,要么是"admin"，或者是“noLoginRoles”
     */
    public static String getRole(HttpSession httpSession){
        String roleInSession = (String)httpSession.getAttribute("role");
        if(roleInSession == null){
            System.out.println("当前无任何登录用户");
            roleInSession = "noRoleInSession";
        }
        return roleInSession;
    }


    @ApiOperation("获取登录用户名的工具类")
    public static String getName(HttpSession httpSession){
        String nameInSession = (String)httpSession.getAttribute("name");
        //一般不会出现这个情况，因为role只要有角色，就应该有Name
        if(nameInSession == null){
            System.out.println("session获取用户名失败");
            nameInSession = "noNameInSession";
        }
        return nameInSession;
    }

}
